<

状態管理アプローチのリスト

状態管理は複雑なトピックです。 質問の一部が解決されていないと思われる場合は、 または、これらのページで説明されているアプローチ あなたのユースケースでは実行できません。おそらくあなたは正しいでしょう。

詳細については、次のリンクをご覧ください。 その多くは Flutter コミュニティによって提供されています。

総括

アプローチを選択する前に確認すべき事項。

  • 状態管理の概要、 これがまさにこのセクションの始まりです (直接ここに来られた方へオプションページ 前のページを見逃しました)
  • Flutter での実際的な状態管理、 Google I/O 2019 のビデオ
  • flutter アーキテクチャのサンプル、ブライアン・イーガン著

プロバイダー

リバーポッド

Riverpod は Provider と同様の方法で動作します。 Flutter SDK に依存せずにコンパイルの安全性とテストを提供します。

  • リバーポッドホームページ
  • リバーポッドを使い始める

setState

ウィジェット固有の一時的な状態に使用する低レベルのアプローチ。

継承されたウィジェットと継承されたモデル

祖先と子の間で通信するために使用される低レベルのアプローチ ウィジェットツリー内。これは何providerその他多くのアプローチ ボンネットの下で使用します。

次のインストラクター主導のビデオ ワークショップでは、次の方法について説明します。 使用InheritedWidget:

その他の役立つドキュメントは次のとおりです。

  • 継承されたウィジェットのドキュメント
  • InheritedWidget を使用した Flutter アプリケーションの状態の管理、 ハンス・ミュラー著
  • ウィジェットの継承、メフメット・フィダンボイル著
  • Flutter 継承ウィジェットを効果的に使用する、エリック・ウィンドミル著
  • ウィジェット - 状態 - コンテキスト - InheritedWidget、ディディエ・ボレレンズ著

戻ってきた

多くの Web 開発者にとって馴染みのある状態コンテナーのアプローチ。

  • Redux と Flutter によるアニメーション管理、 DartConf 2018 のビデオMedium の関連記事
  • Flutter Redux パッケージ
  • Redux Saga ミドルウェア Dart and Flutter、ビラル・ウスル著
  • Flutter での Redux の概要、シャビ・リゴー著
  • Flutter + Redux — 買い物リスト アプリの作り方、 パウリナ・シュクラルスカ著、Hackernoon
  • Redux を使用した Flutter での TODO アプリケーション (CRUD) の構築—パート 1、 Tensor Programming によるビデオ
  • Flutter Redux サンク、例、ジャック・ウォン著
  • Redux を使用した (大規模な) Flutter アプリの構築、ヒレル・コレン著
  • Fish-Redux – Redux に基づいて組み立てられた flutter アプリケーション フレームワーク、 アリババ著
  • 非同期 Redux – ボイラープレートのない Redux。同期と非同期の両方のリデューサーを許可します、 マルセロ・グラスバーグ著
  • Flutter と Redux の出会い: Flutter アプリケーションの状態を管理する Redux の方法、 アミール・ゲゼルバシュ著
  • Flutter アプリでコードをより適切に整理するための Redux とエピック、ニハド・デリック著
  • Flutter_Redux_Gen - 定型コードを生成する VS Code プラグイン、Balamurugan Muthusamy (BalaDhruv) 著

フィッシュリダックス

Fish Redux は組み立てられた flutter アプリケーション フレームワークです Redux の状態管理に基づいています。 中規模および大規模なアプリケーションの構築に適しています。

  • Fish-Redux-ライブラリパッケージ、アリババ製
  • Fish-Redux-ソース、プロジェクトコード
  • flutterムービー, その方法を示す重要な例 Fish Redux を使用するには、30 を超える画面、graphql、 支払い API、メディア プレーヤー。

BLoC / Rx

ストリーム/オブザーバブルベースのパターンのファミリー。

  • BLoC パターンを使用して Flutter プロジェクトを設計する、 サガール・スリ著
  • BloC ライブラリ、フェリックス・アンジェロフ著
  • リアクティブ プログラミング - ストリーム - BLoC - 実用的な使用例、 ディディエ・ボーレンス著

それを得る

サービス ロケーター ベースの状態管理アプローチ。 必要ありませんBuildContext

  • GetItパッケージ、サービスロケーター。 BloC と併用することもできます。
  • GetIt Mixin パッケージ、完了するミックスインGetIt完全な状態管理ソリューションに移行します。
  • GetIt フック パッケージのミックスインと同じ すでに使用しているケースflutter_hooks
  • ミニマリストのための flutter状態管理、スラグチ著

モブX

観測値と反応に基づいた人気のあるライブラリ。

  • MobX.dart、Dart および Flutter アプリの手間のかからない状態管理
  • MobX.dart を始める
  • Flutter: Mobx による状態管理、ポール・ハリデーによるビデオ

flutterコマンド

コマンドパターンを使用したリアクティブな状態管理 そしてそれに基づいていますValueNotifiers。との組み合わせが最適それを得る、でも使用できますProviderまたはその他の ロケーターも。

  • Flutterコマンドパッケージ
  • RxCommandパッケージ、Streamベースの実装。

バインダー

を使用する状態管理パッケージInheritedWidgetその核心部分にある。部分的には反動からインスピレーションを得たものです。 このパッケージは、懸念事項の分離を促進します。

  • バインダーパッケージ
  • バインダーの例
  • バインダーのスニペット、vscode スニペットはさらに便利になります バインダーで生産性を高める

GetX

簡素化されたリアクティブ状態管理ソリューション。

  • GetX パッケージ
  • GetX Flutter Firebase 認証の例、ジェフ・マクモリス著

states_rebuilder

状態管理と 依存関係注入ソリューションと統合ルーター。 詳細については、次の情報を参照してください。

  • ステート・リビルダープロジェクトコード
  • ステート リビルダーのドキュメント

トリプルパターン(分割状態パターン)

Triple は、次の状態管理のパターンです。StreamsまたValueNotifier。 この仕組み(愛称)トリプルストリームは常に 3 つを使用するため、 値:ErrorLoading、 とState)に基づいています。セグメント化された状態パターン。

詳細については、次のリソースを参照してください。

  • トリプルドキュメント
  • flutterトリプルパッケージ
  • トリプル パターン: Flutter での状態管理の新しいパターン(ブログ投稿はポルトガル語で書かれていますが、自動翻訳できます)
  • ビデオ: flutter トリプル パターン by Kevlin Ossada(英語で録音されています)

ソリッドアート

SolidJS からインスピレーションを得た、シンプルだが強力な状態管理ソリューション。

  • 公式ドキュメント
  • ソリッドアートパッケージ
  • flutter_solidart パッケージ

flutter_reactive_value

flutter_reactive_valueライブラリは状態に対して最も複雑でないソリューションを提供する可能性があります Flutterでの管理。 Flutter の初心者が UI に反応性を追加するのに役立つかもしれません。 前述したような複雑なメカニズムは必要ありません。 のflutter_reactive_valueライブラリはreactiveValue(BuildContext)拡張メソッドValueNotifier。この拡張機能により、Widgetに の現在の値を取得します。ValueNotifierと 購読するWidgetの値の変化にValueNotifier。 の値がValueNotifier変化、Widget再構築します。

  • flutter_reactive_valueソースとドキュメント